import { GroupData } from "babylon-lib/data/base-data";
import { Vector3Data } from "babylon-lib/data/datas/vector3-data";
import { NumberData } from "babylon-lib/data/datas/number-data";
import { Vector3 } from '@babylonjs/core/Maths/math.vector';
import { BooleanData } from 'babylon-lib/data/datas/boolean-data';
import { DEGREE } from 'babylon-lib/tool/calculation';


/**
 * 数据：
 * rootData:{
 *      isProduction:boolean data,
 *      cameraData:{
 *          cameraAlpha:number data,
 *          cameraBeta:number data,
 *          cameraRadius:number data,
 *          cameraTarget:Vector3 data, 
 *      },
 * };
 * 动作：
 *      actionReset:boolean data,
 *      screenShot:boolean data,
 */


const rootData = new GroupData();

const isProduction = new BooleanData(false);

const cameraData = new GroupData();
const cameraAlpha = new NumberData(-45 * DEGREE);
const cameraBeta = new NumberData(90 * DEGREE);
const cameraRadius = new NumberData(10);
const cameraTarget = new Vector3Data(new Vector3(0, 1, 0));
cameraData.add(cameraAlpha, cameraBeta, cameraRadius, cameraTarget);

rootData.add(
    cameraData,
);

const orders = {
    sceneFront: 'sceneFront',
    sceneUiBack: 'sceneUiBack',
    sceneUi: 'sceneUi',
    sceneUiFront: 'sceneUiFront',
    uiBack: 'uiBack',
    ui: 'ui',
    uiFront: 'uiFront',
};


export {
    rootData,
    cameraData, cameraAlpha, cameraBeta, cameraRadius, cameraTarget,
    isProduction, orders,
};